Python数据分析与展示-3

matplotlib进行相关绘图操作

基本图绘制

基本图绘制不用考虑太多,能够进行参数变量修改即可,关键是找到各个参数的意义。

饼状图
import matplotlib.pyplot as plt

labels = 'Frogs', 'Hogs' ,'Dogs' ,'Logs'
sizes = [15, 30, 45, 10]   #列表,用于规定所占百分比
explode = (0,  0, 0, 0)    #设置哪一块进行一个突出显示
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow= False,startangle=90)
#第一个参数,表示所占百分比,第二个参数,部分突出情况,第四个参数,表示百分比保留小数情况,第五个参数为是否要阴影,第六个参数应该是旋转
plt.show()
柱状图
import numpy as np
import matplotlib.pyplot as plt

np.random.seed(0)         #随机种子,进行随机数固定
mu, sigma = 100, 20       # 均值和标准差
a = np.random.normal(mu, sigma, size=100)#按照均值和标准差进行数据生成?
plt.hist(a, 20, normed=1, histtype='stepfilled', facecolor='b', alpha=0.75)    # 第二个参数bin:直方图的个数
plt.title('Histogram')#标题
plt.show()
折线图
import matplotlib.pyplot as plt
plt.plot([0,2,4,6,8],[3,1,4,5,2])#要绘制的点的横纵坐标
plt.ylabel("Grade")
plt.axis([-1, 10, 0, 6])#横纵坐标的极致
plt.savefig('test',dpi=600) #PNG文件,太强了,直接生成相应的图片
plt.show()
散点图
import numpy as np
import matplotlib.pyplot as plt
#散点图
fig, ax = plt.subplots()
ax.plot(10 * np.random.randn(100), 10 * np.random.randn(100), 'o')
ax.set_title('Simple Scatter')

plt.show()
极坐标绘图
import numpy as np
import matplotlib.pyplot as plt
#极坐标
N = 20
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, width = width, 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()
三角函数等曲线图
import numpy as np
import matplotlib.pyplot as plt
def f(t):
    return np.exp(-t) * np.cos(2 * np.pi * t)

a = np.arange(0.0, 5.0, 0.02)

plt.subplot(211)    # 可以将3个参数合并传参
plt.plot(a ,f(a))

plt.subplot(2,1,2)
plt.plot(a, np.cos(2 * np.pi * a),'r--')
plt.show()
射线图
import numpy as np
import matplotlib.pyplot as plt

a = np.arange(10)
plt.plot(a, a*1.5,'go-', a, a*2.5,'rx', a, a*3.5,'*', a, a*4.5,'b-.')#变好看了,花里胡哨
plt.show()

进行汉字的显示操作

在这里插入图片描述
在这里插入图片描述

import matplotlib.pyplot as plt
import matplotlib

matplotlib.rcParams['font.family']='SimHei' # 'SimHei'是黑体
plt.plot([3,1,4,5,2])
plt.ylabel("纵轴(值)")
plt.savefig('test',dpi=600)

进行子区域划分操作

import matplotlib
import matplotlib.gridspec as gridspec

matplotlib.rcParams['font.size']=6
gs = gridspec.GridSpec(2,2)
ax1 = plt.subplot(gs[0, :])
a = np.arange(10)
plt.plot(a, a*1.5,'go-', a, a*2.5,'rx', a, a*3.5,'*', a, a*4.5,'b-.')#变好看了,花里胡哨
plt.show()
ax2 = plt.subplot(gs[1, :-1])
a = np.arange(10)
plt.plot(a, a*1.5,'go-', a, a*2.5,'rx', a, a*3.5,'*', a, a*4.5,'b-.')#变好看了,花里胡哨
plt.show()
ax3 = plt.subplot(gs[1:, -1])
a = np.arange(10)
plt.plot(a, a*1.5,'go-', a, a*2.5,'rx', a, a*3.5,'*', a, a*4.5,'b-.')#变好看了,花里胡哨
plt.show()

这里是2*2的区域,每个区域中都课对应不同的坐标显示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值