要想成为一名月入几万的数据分析师,绘制图表是必会的!实例教程

要想成为一名月入几万的数据分析师,绘制图表是必会的!实例教程,第1张

概述 1.折线图在绘制折线图时,如果你的数据很小,图表的线条有点折,当你数据集比较大时候,比如超过100个点,则会呈现相对平滑的曲线。

1.折线图

在绘制折线图时,如果你的数据很小,图表的线条有点折,当你数据集比较大时候,比如超过100个点,则会呈现相对平滑的曲线。

在这里,我们使用三个plt.plot绘制了,不同斜率(1,2和3)的三条线。

import numpy as np

import matplotlib.pyplot as plt

cc= np.linspace(0,2,100)

plt.rcParams['Font.sans-serif'] = ['SimHei']

plt.plot(cc,cc,label='linear')

plt.plot(cc,cc**2,label='两倍')

plt.plot(cc,cc**3,label='三倍')

plt.xlabel('x label')

plt.ylabel('y label')

plt.Title("折线图")

plt.legend()

plt.show()

cc = np.linspace(0,100)

plt.plot(cc,label ='linear')

plt.plot(cc,cc ** 2,label ='quadratic')

plt.plot(cc,cc ** 3,label ='cubic')

plt.xlabel('x label')

plt.ylabel('y label')

结果显示,如下:

注意为了显示中文,我们plt.rcParams属性设置了中文字体,不然不能正确显示中文Title的。

3.直方图

直方图也是一种常用的简单图表,本例中我们在同一张图片中绘制两个概率直方图。

import numpy as np

import matplotlib.pyplot as plt

np.random.seed(19680801)

mu1,sigma1 = 100,15

mu2,sigma2 = 80,15

x1 = mu1 + sigma1 * np.random.randn(10000)

x2 = mu2 + sigma2 * np.random.randn(10000)

n1,bins1,patches1 = plt.hist(x1,50,density=True,facecolor='g',Alpha=1)

n2,bins2,patches2 = plt.hist(x2,facecolor='r',Alpha=0.2)

plt.rcParams['Font.sans-serif'] = ['SimHei']

plt.xlabel('智商')

plt.ylabel('置信度')

plt.Title('IQ直方图')

plt.text(110,.025,r'$mu=100,sigma=15$')

plt.text(50,r'$mu=80,sigma=15$')

# 设置坐标范围

plt.axis([40,160,0.03])

plt.grID(True)

plt.show()

显示效果为:

4.条形图

我们要介绍的第四种,图表类型是条形图,我们这儿引入稍微比较复杂的条形图。

4.1平行条形图

此例中,我们引入三组(a,b,c)5个随机数(0~1),并用条形图打印出来,做比较

import numpy as np

import matplotlib.pyplot as plt

size = 5

a = np.random.random(size)

b = np.random.random(size)

c = np.random.random(size)

x = np.arange(size)

total_wIDth,n = 0.8,3

wIDth = total_wIDth / n

# redraw the coordinates of x

x = x - (total_wIDth - wIDth) / 2

# here is the offset

plt.bar(x,a,wIDth=wIDth,label='a')

plt.bar(x + wIDth,label='b')

plt.bar(x + 2 * wIDth,c,label='c')

plt.legend()

plt.show()

显示效果为:

4.2堆积条形图

数据同上,不过条形plot的时候,用的相互的值大小差异(水平方向),而不是条柱平行对比。

import numpy as np

import matplotlib.pyplot as plt

size = 5

a = np.random.random(size)

b = np.random.random(size)

c = np.random.random(size)

x = np.arange(size)

plt.bar(x,wIDth=0.5,label='a',fc='r')

plt.bar(x,bottom=a,label='b',fc='g')

plt.bar(x,bottom=a+b,label='c',fc='b')

plt.ylim(0,2.5)

plt.legend()

plt.grID(True)

plt.show()

显示效果为:

5.2嵌套饼图

import numpy as np

import matplotlib.pyplot as plt

size = 0.3

vals = np.array([[60.,32.],[37.,40.],[29.,10.]])

cmap = plt.get_cmap("tab20c")

outer_colors = cmap(np.arange(3)*4)

inner_colors = cmap(np.array([1,5,6,9,10]))

print(vals.sum(axis=1))

# [92. 77. 39.]

plt.pIE(vals.sum(axis=1),radius=1,colors=outer_colors,

wedgeprops=dict(wIDth=size,edgecolor='w'))

print(vals.flatten())

# [60. 32. 37. 40. 29. 10.]

plt.pIE(vals.flatten(),radius=1-size,colors=inner_colors,edgecolor='w'))

# equal makes it a perfect circle

plt.axis('equal')

plt.show()

显示效果为:

5.3极轴饼图

极轴饼图是一种非常酷的图表,让我们看他的源码:

import numpy as np

import matplotlib.pyplot as plt

np.random.seed(19680801)

N = 10

theta = np.linspace(0.0,2 * np.pi,N,endpoint=False)

radii = 10 * np.random.rand(N)

wIDth = np.pi / 4 * np.random.rand(N)

ax = plt.subplot(111,projection='polar')

bars = ax.bar(theta,radii,bottom=0.0)

for r,bar in zip(radii,bars):

bar.set_facecolor(plt.cm.viridis(r / 10.))

bar.set_Alpha(0.5)

plt.show()

显示效果为:

6.3D图表

3D图表也是能我们展示出超想象力的视觉效果的图表。

6.1三维散点图

首先来看看三维的散点图,源码:

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

data = np.random.randint(0,255,size=[40,40,40])

x,y,z = data[0],data[1],data[2]

ax = plt.subplot(111,projection='3d')

ax.scatter(x[:10],y[:10],z[:10],c='y')

ax.scatter(x[10:20],y[10:20],z[10:20],c='r')

ax.scatter(x[30:40],y[30:40],z[30:40],c='g')

ax.set_zlabel('Z')

ax.set_ylabel('Y')

ax.set_xlabel('X')

plt.show()

显示效果为:

怎么样,效果很酷把,好今天就给大家介绍到这里,如果你有任何问题,可以加到我的一个交流㪊:548+377+875 源码也有!教程也有!一起交流 快速入门!

总结

以上是内存溢出为你收集整理的要想成为一名月入几万的数据分析师,绘制图表是必会的!实例教程全部内容,希望文章能够帮你解决要想成为一名月入几万的数据分析师,绘制图表是必会的!实例教程所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1208777.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存