Day14 数据可视化

Matplotlib

Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。

Matplotlib的基本使用

使用Matplotlib绘图时,主要使用plot函数,下面是一个简单的绘制:

import matplotlib.pyplot as plt

plt.plot([1,2,3,4],[-4,-3,-2,-1])#输入参数类型为列表型的
plt.show()

绘制结果:
在这里插入图片描述
当然也可以结合numpy,生成数据,存入磁盘。并进行数据读取。

import numpy as np

x = np.random.randint(0,100,50)
np.savetxt("a.csv",x,"%d")

y = np.loadtxt("a.csv")
print(np.max(y),y.mean())

同时这里利用上证指数的文件,对文件中的数据进行可视化,计算每天的股票的最高价减去最低价。并可视化昨天的,与今天的关系。上证指数、代码实现如下:
在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt

low,high = np.loadtxt("0000001.csv",delimiter=",",skiprows=1,usecols=(4,5),unpack=True)

diff = high-low

yesterday = diff[:-1]
today = diff[1:]
#s对应面积,c对应颜色,marker对应点的形状,alpha对应饱和度
plt.scatter(yesterday,today,s=10,c="r",marker="<",alpha=0.5)
plt.show()

绘制结果:
在这里插入图片描述

绘制饼图:
使用pie函数,该函数可以有很多的控制参数,可以设置突出,百分占比等;

import matplotlib.pyplot as plt

labels = "A","B","C","D"
fracs = [15,30,45,10]#各label大小
explode = [0,0.1,0,0]#设置突出显示
#x:数据大小,label:各数据的标签,autopct:显示百分比,且设置精确度,explode:突出显示设置,shadow:阴影启动
plt.pie(x = fracs,labels = labels,autopct="%.1f%%",explode=explode,shadow=True)
plt.show()

绘制结果:
在这里插入图片描述

条形图:
pyplot 子模块提供 bar() 函数来生成条形图。

import matplotlib.pyplot as plt

x =[5,8,10]
y = [12,16,6]
x2 = [6,9,11]
y2 = [6,15,7]

plt.bar(x,y,align='center')
plt.bar(x2,y2,color='g',align='center')

plt.title('条形图')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()

绘制结果:
在这里插入图片描述
直方图:
Matplotlib 可以将直方图的数字表示转换为图形。 pyplot 子模块的 plt() 函数将包含数据和 bin 数组的数组作为参数,并转换为直方图。

import matplotlib.pyplot as plt
import numpy as np

a = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])
plt.hist(a,bins=[0,20,40,60,80,100],normed=0,facecolor='blue',edgecolor='black',alpha=0.7)
plt.title("histogram")
plt.show()

绘制结果:
在这里插入图片描述

修改坐标轴的刻度:
使用locator_params函数。使用代码如下:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(1,10,1)

plt.plot(x,x)
ax = plt.gca()

ax.locator_params("y",nbins=10)
plt.show()

在同一张图上绘制多个坐标轴:
使用子模块的twinx()函数生成即可,使用代码如下:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(2,20,1)
y1 = x*x
y2 = np.log(x)

plt.plot(x,y1)
plt.ylabel("Y1")
plt.locator_params("y",nbins=20)
plt.twinx()
plt.plot(x,y2,'r')
plt.ylabel("Y2")
plt.locator_params("y",nbins=5)
plt.show()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jupyter Notebook中可以使用多种Python可视化库进行数据可视化,以下是其中一些常用的库和用法: 1. Matplotlib:用于绘制静态图表,例如折线图、散点图、柱状图等。 ```python import matplotlib.pyplot as plt %matplotlib inline # 绘制折线图 x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.plot(x, y) # 绘制散点图 x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.scatter(x, y) # 绘制柱状图 x = ['A', 'B', 'C', 'D', 'E'] y = [2, 4, 6, 8, 10] plt.bar(x, y) ``` 2. Seaborn:基于Matplotlib的高级可视化库,用于绘制统计图形,例如热力图、箱线图、核密度图等。 ```python import seaborn as sns %matplotlib inline # 绘制热力图 flights = sns.load_dataset('flights') flights = flights.pivot('month', 'year', 'passengers') sns.heatmap(flights) # 绘制箱线图 tips = sns.load_dataset('tips') sns.boxplot(x='day', y='total_bill', data=tips) # 绘制核密度图 iris = sns.load_dataset('iris') sns.kdeplot(data=iris, x='sepal_length', hue='species') ``` 3. Plotly:用于绘制交互式图表,例如线图、散点图、热力图等。 ```python import plotly.express as px # 绘制线图 df = px.data.gapminder() fig = px.line(df, x='year', y='lifeExp', color='continent') fig.show() # 绘制散点图 df = px.data.iris() fig = px.scatter(df, x='sepal_width', y='sepal_length', color='species') fig.show() # 绘制热力图 df = px.data.tips() fig = px.density_heatmap(df, x='total_bill', y='tip') fig.show() ``` 这些只是其中的一部分可视化库和用法,你可以根据实际情况选择适合自己的库和方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值