python基础案例 - Matplotlib 库与数据可视化

例11-1 给定11个点坐标,绘制简单折线图 (x,y) 

import numpy as np
import matplotlib.pyplot as plt               # 引入绘图库
x = np.arange(11)                                     # 从0开始,步长为1 的11个整数
y = np.array([0.15,0.16,0.14,0.17,0.12,0.16,0.1,0.08,0.05,0.07,0.06])        # 取11个数
plt.plot(x, y, color = 'green', marker='o')       # 绘制11个点的折线图,红色、点型
plt.show()

例11-2 绘制散点图 y = sin(x) 

import matplotlib.pyplot as plt ; import numpy as np
x = np.linspace(0, 2*np.pi, 30)                               # 将[0,2*PI]等分为30份的一维数组
y = np.sin(x)
plt.scatter(x, y,  marker='.', color='green')             #  marker 点型, 颜色color为blue
plt.show()

例11-3 绘制4个子图,如图所示

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 100)
fig = plt.figure(figsize=(8,6),dpi=80)
ax1 = fig.add_subplot(2,2,1)                                 # (2,2)表示将画布分成2行,2列,可画4个子图
ax1.plot(x, x)
ax1.legend(['y=x'])
ax2 = fig.add_subplot(2,2,2)                                  # 这是第2个子图
ax2.plot(x, -x,'r') ;                ax2.legend(['y=-x'])
ax3 = fig.add_subplot(2,2,3)                                 # 这是第3个子图
ax3.plot(x, x ** 2,'b')
ax3.legend(['y=x*x'])
ax4 = fig.add_subplot(2,2,4)                                 # 这是第4个子图
ax4.plot(x, np.log(x+1e-5),'g')
ax4.legend(['y=log(x)'],loc='lower right')             # 图例在右下方
plt.show()

第四个图如果将ax4.plot(x, np.log(x+1e-5),'g')换成ax4.plot(x, np.log(x),'g')即与示例图一致,但会报divide by zero encountered in log的错误,因为log在负数域计算为无穷小了,导致第四张图无法加载y<0的部分。x+1e-5代表将其转变为高精度浮点数,能够显示的区域就会变大到现在的样子。

例11-4  用画布的各种设置,绘制折线图:y = sin(x),z = cos(x)。设置包括:

(1)图片的大小、标题title、图例legend、字体大小fontsize      

(2)坐标轴的4个属性:刻度xticks、范围xlim、标签xlabel、字体大小fontsize      

(3)折线图的6个属性:颜色color、点型marker、点型大小marksize、                 线型linestyle 、线宽linewidth、透明度alpha

        

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = 'SimHei'                      # 设置中文显示
plt.rcParams['axes.unicode_minus'] = False
x = np.arange(0,2*np.pi,0.1)
y = np.sin(x)
f = plt.figure(figsize=(8,4),dpi=80)                                   # 画布大小:宽8英寸,高4英寸
f.set_facecolor((0.92,0.92,0.96))                                       # 设置坐标轴颜色
plt.title('正弦、余弦函数图形',fontsize=12)                  # 标题 ,字体大小:12
plt.xlabel('x 变量',fontsize=12)                                       # x轴标签
plt.ylabel('y 变量',fontsize=12)
plt.xlim((0,6.6))                                                                  # 确定x轴范围
plt.ylim((-1,1))
plt.xticks(np.arange(0,6.6,0.4))       
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我了解了。对于你的问题,我可以给你一个简单的数据分析与可视化案例,使用Python、Pandas和Matplotlib。 首先,我们需要准备一个数据集。这里我选用了一个名为“tips”的数据集,它记录了一家餐厅的不同顾客在用餐时的消费金额、小费、性别、是否吸烟、用餐时间等信息。你可以在Seaborn中找到这个数据集。 接下来,我们可以使用Pandas将数据集导入到Python中,并进行一些简单的数据处理。例如,我们可以计算不同性别的平均小费金额: ```python import pandas as pd # 导入数据集 tips = pd.read_csv("https://raw.githubusercontent.com/mwaskom/seaborn-data/master/tips.csv") # 计算不同性别的平均小费金额 tips.groupby("sex")["tip"].mean() ``` 结果如下: ``` sex Female 2.833448 Male 3.089618 Name: tip, dtype: float64 ``` 接下来,我们可以使用Matplotlib将这些数据可视化。例如,我们可以绘制不同性别的平均小费金额柱状图: ```python import matplotlib.pyplot as plt # 绘制不同性别的平均小费金额柱状图 tips.groupby("sex")["tip"].mean().plot(kind="bar") # 设置图形标题和坐标轴标签 plt.title("Average Tip by Gender") plt.xlabel("Gender") plt.ylabel("Tip") # 显示图形 plt.show() ``` 结果如下: ![Average Tip by Gender](https://i.imgur.com/5XjVwUH.png) 这只是一个简单的数据分析与可视化案例,你可以根据自己的需求和数据集进行更复杂的数据分析和可视化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值