>  기사  >  백엔드 개발  >  Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

王林
王林앞으로
2023-04-13 15:01:061294검색

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

Text

안녕하세요 여러분, 저는 Python 인공 지능 기술입니다.

방법 1

Python의 플로팅 모듈인 matplotlib을 강력히 추천합니다: Python 플로팅. 그려진 그림은 정말 고급스럽고 고급스럽고 ​​저조하고 고급스럽고 암시 적입니다 ~ 2D에서 3D, 스칼라에서 벡터까지 모든 종류의 그림에 적합합니다. EPS, PDF부터 svg, png, jpg까지 다양한 형식으로 저장할 수 있습니다. 게다가 Matplotlib의 그리기 기능은 기본적으로 Matlab과 이름이 비슷하기 때문에 마이그레이션 학습 비용이 상대적으로 저렴합니다. 오픈 소스이며 무료입니다. 그림과 같이 (제목 설명의 그림은 맨 마지막에 있습니다): (다음 그림은 썸네일 갤러리에서 인용한 것입니다)

공통 함수 이미지는 다음과 같습니다:

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

plt.fill(x, y1, 'b', x, y2, 'r', alpha=0.3)

및 이 Scatter 그래프(중국어) 사용할 수 없음) 무슨 말인지 아세요...):

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

plt.scatter(x, y, s=area, alpha=0.5)

절묘한 곡선, 반투명 컬러 매칭. 당신의 고귀하고 멋진 개성을 보여주세요. 가장 중요한 것은 단 한 줄의 코드만 있으면 된다는 것입니다. 이제부터는 Matlab과 GNUPlot에서 고통스러운 컬러 매칭을 겪을 필요가 없습니다.

3D 데이터를 그리고 싶으신가요? 문제 없습니다(마야비를 사용하는 것이 더 편리할 수 있습니다):

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

ax.plot_surface(X, Y, Z, rstride=8, cstride=8, alpha=0.3)
cset = ax.contourf(X, Y, Z, zdir='z', offset=-100, cmap=cm.coolwarm)
cset = ax.contourf(X, Y, Z, zdir='x', offset=-40, cmap=cm.coolwarm)
cset = ax.contourf(X, Y, Z, zdir='y', offset=40, cmap=cm.coolwarm)

4줄의 코드를 가질 수 있습니다(마지막 3줄은 좌표 평면에 등고선을 그리는 것입니다. 엄밀히 말하면 여전히 한 줄입니다. ).

또한 벡터 필드인 경우 네트워크 또는 기타 이상한 요구 사항을 처리할 수 있습니다.

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

plt.streamplot(X, Y, U, V, color=U, linewidth=2, cmap=plt.cm.autumn)
plt.colorbar()

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

plt.triplot(x, y, triangles, 'go-')
plt.title('triplot of user-specified triangulation')
plt.xlabel('Longitude (degrees)')
plt.ylabel('Latitude (degrees)')

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

ax = plt.subplot(111, polar=True)
bars = ax.bar(theta, radii, width=width, bottom=0.0)

아직 끝나지 않았습니다. Matplotlib도 삽입을 지원합니다. Latex 수식 중, 다른 사람이 그린 그림이 여전히 이런 경우(다음 그림은 Matplotlib Tutorial(번역)에서 인용함)

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

다음과 같이 바꿀 수 있습니다.

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

페어링하면 IPython을 실행 터미널로 사용(이 그림은 제가 직접 그린 것입니다~):

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

단순한 인공물입니다. 존재합니까?

마음을 움직이는 것보다 행동하는 것이 더 좋습니다. 무엇을 기다리고 있나요?

@XuZhu가 상기시킨 것처럼, matplotlib도 xkcd 스타일의 그래픽을 생성할 수 있다는 점을 덧붙이고 싶습니다~

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

(인터넷에서 인용한 사진)

또한, IPython 노트북은 http://nbviewer.ipython.org/

를 참조하세요. 설치가 번거롭고 Windows 시스템에 있는 경우 winpython - Windows용 휴대용 과학 Python 2/3 32/64비트 배포판을 사용해 볼 수 있습니다. .

@van li가 matplotlib이 질문에 표시된 이미지를 그릴 수 있는지 질문했기 때문에 matplotlib를 사용하여 다음과 같이 질문에 이미지를 그릴 것입니다.

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

코드는 다음과 같습니다.

https: //gist.github.com/coldfog/c479124328fc6bb8b789

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

코드는 여기에 있습니다:

https://gist.github.com/coldfog/5da63a6958fc0a949b52

看到楼下有人说配色和好看,唉....那我也贴几个吧...只不过当初限于篇幅没有写而已。另外,搜索公众号顶级python后台回复“进阶”,获取一份惊喜礼包。

首先,python有一个专门的配色包jiffyclub/brewer2mpl,提供了从美术角度来讲的精美配色(戳这里感受ColorBrewer: Color Advice for Maps)。

此外还有一些致力于美化绘图的库,用起来也都非常方便,比如olgabot/prettyplotlib 。

废话不多说,上图就是王道。(下面图片来源网络)

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

有人可能会说需要复杂的设置,其实也不用。比如上边这幅图,只需要多加一个参数就好:

cmap=brewer2mpl.get_map('RdBu', 'diverging', 8, reverse=True).mpl_colormap,

楼下说到统计绘图。嘛seaborn 是一个调用 matplotlib 的统计绘图库,上图:

(https://github.com/mwaskom/seaborn)  

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

代码一行,后边的几乎都是一行,没做其他设置,默认就这样。我就不贴其他的代码了:

g = sns.jointplot(x1, x2, kind="kde", size=7, space=0)

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

还有个更炫酷的可交互式绘图,大家自己戳开看吧:

http://nbviewer.ipython.org/github/plotly/python-user-guidechaocc/blob/master/s0_getting-started/s0_getting-started.ipynb

遇到安装问题的请尝试Anaconda这个Python发行版。下载安装后直接使用即可,它几乎预装了所有要用到的科学计算及可视化的库。

有盆友在评论里说希望能有完整的教程,确实就这个答案来说,离实际使用还有很大的距离,网上相关的中文资料也不多。不过真要写起来这个答案也装不下,况且写在这个问题下也不是很恰当。等到那天我有专栏了再说吧,到时候也许会写一个关于可视化的系列教程。

方法二

翻遍这个问题下的所有回答,发现凡是提到Matlab的,其评价中常有‘锯齿’,‘菜鸟’,‘难看’,‘不忍直视’等标签。

然而,2020年了,技术提升了,观念进步了,当一些基本问题解决后,Matlab还那么‘不堪’吗?

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

观察Mathematica、Origin、Python/matplotlib、R/ggplot2等软件绘制的数据、结果图,其与Matlab图的差异主要体现在点、线、面等对象属性(位置、尺寸、颜色等)的不同上。

既然只是属性的不同,那是不是只要修改一下这些信息,就可以实现各种软件绘图风格之间的转换了呢?

答案是肯定的。

比如,这是高赞回答 @冯昱尧用Python/matplotlib绘制的一幅图:

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

我们用Matlab默认属性来绘制,效果是这样的(没加误差棒):

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

그런 다음 위치, 크기, 색상 및 기타 정보를 수정하면 비슷한 스타일의 그림을 얻을 수 있습니다(오차 막대 추가 없음).

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

이 아이디어를 사용하여 일러스트레이션을 그리는 방법을 생각하면 쉽습니다. 자신만의 작은 아이디어를 실현하고, 이상적인 일러스트레이션을 모방하거나 심지어 창조해 보세요.

예를 들어 어느 날 저녁 하늘의 색이 너무 아름다워서 '왜 종이 그림에 그릴 수 없지?'라고 생각했습니다. (참조: Matlab 종이 일러스트 컬러 매칭 2 - 자연 그라데이션)

그래서,

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

또 다른 예로, 어느 날 여자친구 사진을 보고 아름답다고 생각했고, 다음과 같이 생각했습니다. 왜 넣을 수 없나요? 그녀가 종이에 그린 일러스트는 어떤가요? (참조: 매트랩 종이 일러스트 컬러 매칭 1 - 내 여자친구 색깔이에요)

그래서,

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

이 때 친구가 말하려 했어요: "아 답변자, 이런 멋진 일을 하고 계시군요. things 코드를 한 줄씩 치는 게 너무 귀찮아요.”

틀렸어요.

R에 ggplot2가 있고 Python에 matplotlib가 있는 것처럼 Matlab에는 실제로 기성 그리기 툴킷이 많이 있으므로 직접 개발할 필요가 없습니다.

예를 들어

Pierre Morel [1]은 ggplot2와 결합하여 복잡한 그래픽을 그리기 위한 그램 도구를 개발했습니다.

"그래픽 문법" 원칙(Wilkinson 1999)의 R 구현인 ggplot2(Wickham 2009)에서 영감을 받은 gramm은 Matlab의 플로팅 기능을 개선하여 고급 객체 지향 코드를 사용하여 복잡한 수치를 생성할 수 있습니다.

예제 효과는 다음과 같습니다.

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!마찬가지로 Stephen Cobeldick [2] 컬러 matplotlib 이 계획은 Matlab에 이식되었습니다.

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!즉, matplotlib의 색 구성표를 Matlab에서 직접 사용할 수 있으며 항상 '제트'할 필요는 없습니다.

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!MATPlotLib 2.0 기본 색상맵이 MATLAB으로 포팅되었습니다. 이 제출물에는 Line ColorOrder 색상맵도 포함되어 있습니다.

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!샘플 효과는 다음과 같습니다.

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!

종이 일러스트레이션 전용 툴킷도 많이 있으므로 여기서는 하나씩 소개하지 않겠습니다.

일반적으로 도구는 도구일 뿐, 우월하거나 열등하지 않습니다.

아름다운 그림을 그리고 싶다면 도구를 사용하는 사람이 핵심입니다.

집중해서 정상에 도달하세요.

참조:

​https://www.php.cn/link/b3ddb7c5b10be95dbc3f9152c58becce​​​

​https://www.php.cn/link/171ae1bbb81475eb9 6287dd78565b38b​

위 내용은 Python으로 이렇게 아름답고 전문적인 일러스트레이션을 그리시겠습니까? 너무 쉽게!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제