头歌:Matplotlib接口和常用图形

头歌:Matplotlib接口和常用图形

第一关画图接口

编程要求

在右侧编辑器Begin-End补充代码,对传入的x,y两个数组做折线图,x对应x轴,y对应y轴。并保存到Task1/image1/T2.png,具体要求如下:

  • 折线图的figsize为(10, 10);

  • 文件名为Task1/image1/T2.png。

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
def student(x,y):
    # ********** Begin *********#
    fig = plt.figure(figsize=(10,10))
    plt.savefig("Task1/image1/T2.png")
    plt.show()
    # ********** End **********#

第2关:线形图

import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt


def student(input_data,input_data1):

    # ********* Begin *********#
    fig = pl
### Pandas与Matplotlib接口关系 Pandas 提供了一个内置的 `plot` 方法,可以直接调用 Matplotlib 的功能来创建图形。这种集成使得数据分析可视化的流程更加流畅[^1]。通过 Pandas 的 DataFrame 或 Series 对象,用户能够快速生成多种类型的图表而无需手动配置复杂的参数。 #### 常见图表类型及其绘制方法 以下是使用 Pandas Matplotlib 创建一些常见图表的方法: --- ### 折线图 (Line Chart) 折线图是最基本的数据展示形式之一,适合表示连续变量的变化趋势。 ```python import pandas as pd import matplotlib.pyplot as plt data = {'城市': ['北京', '上海', '深圳'], '人口(百万)': [20, 25, 15]} df = pd.DataFrame(data) plt.figure(figsize=(8, 4)) df.set_index('城市')['人口(百万)'].plot(color='blue', linestyle='-', marker='o') plt.title('各城市人口分布') plt.xlabel('城市名称') plt.ylabel('人口数量(百万)') plt.grid(True) plt.show() ``` 上述代码利用了 Pandas 的 `plot()` 方法自动生成折线图,并设置了线条的颜色、样式以及标记形状[^3]。 --- ### 柱状图 (Bar Chart) 柱状图适用于比较不同类别的数值大小。 ```python df.plot(kind='bar', x='城市', y='人口(百万)', color=['green', 'orange', 'purple']) plt.title('各城市人口对比') plt.xlabel('城市') plt.ylabel('人口数量(百万)') plt.xticks(rotation=0) plt.show() ``` 这里指定了 `kind='bar'` 参数以生成垂直条形图,同时调整了颜色方案以便于区分各个类别[^2]。 --- ### 散点图 (Scatter Plot) 当研究两个变量之间的关系时,散点图是非常有用的工具。 ```python np.random.seed(0) ages = np.random.randint(18, 70, size=100) incomes = ages * 1000 + np.random.normal(loc=0, scale=5000, size=100) scatter_df = pd.DataFrame({'年龄': ages, '收入': incomes}) scatter_df.plot(kind='scatter', x='年龄', y='收入', c='red', alpha=0.6) plt.title('年龄 vs 收入') plt.xlabel('年龄') plt.ylabel('年收入(元)') plt.grid(True) plt.show() ``` 此例子展示了如何基于随机生成的数据集构建散点图并应用透明度设置 (`alpha`) 来增强视觉效果。 --- ### 饼图 (Pie Chart) 饼图用来表现部分占整体的比例情况。 ```python sales_data = {'产品A': 40, '产品B': 30, '产品C': 20, '产品D': 10} series = pd.Series(sales_data) series.plot.pie autopct='%1.1f%%' plt.title('销售额占比') plt.axis('equal') # 确保圆形而非椭圆 plt.show() ``` 注意,在绘制饼图时需额外指定 `autopct` 参数来自定义百分比标签格式。 --- ### 直方图 (Histogram) 直方图帮助理解数据分布特性。 ```python heights = np.random.normal(loc=170, scale=10, size=1000) pd.Series(heights).plot.hist(bins=20, edgecolor='black', color='skyblue') plt.title('身高分布') plt.xlabel('高度(厘米)') plt.ylabel('频数') plt.show() ``` 在此案例中,我们设定了 bin 数量为 20 并赋予边界清晰可见的效果。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值