当前位置: 首页 > news >正文

matplotlib练习

1.# 绘制两条线,分别设置不同的样式 # 第一条线:红色虚线,圆形标记,线宽 1.5,标记大小 6 # 第二条线:绿色实线,方形标记,线宽 2,标记大小 8

import matplotlib.pyplot as plt
import numpy as np

# 生成数据
x = np.linspace(0, 2 * np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, "r--o", linewidth=1.5, markersize=6, label="sin")
plt.plot(x, y2, "g-s", linewidth=2, markersize=8, label="cos")

plt.legend()
plt.show()

运行结果:

 

2. # 点的颜色根据 y 坐标值使用 'plasma' 颜色映射 # 透明度为 0.6,边缘颜色为黑色

import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(100)
y = np.random.rand(100)

sizes = 500 * x
colors = y

plt.scatter(x, y, s=sizes, c=colors, cmap='plasma', alpha=0.6, edgecolors='black')
plt.title('Scatter plot with variable size and color')
plt.xlabel('x')
plt.ylabel('y')
plt.colorbar(label='y values')
plt.show()

运行结果:

 

3.# 绘制两组并列的条形图,第一组颜色为橙色,第二组颜色为紫色 # 条形宽度为 0.35,添加图例

import matplotlib.pyplot as plt
import numpy as np

categories = ['Apple', 'Banana', 'Cherry', 'Date', 'Eggplant']
values1 = [30, 25, 40, 15, 20]
values2 = [20, 30, 35, 25, 10]

bar_width = 0.35
index = np.arange(len(categories))

plt.bar(index, values1, bar_width, label='Set 1', color='orange')  # 第一组:橙色
plt.bar(index + bar_width, values2, bar_width, label='Set 2', color='purple')  # 第二组:紫色
plt.xlabel('Categories')
plt.ylabel('Values')
plt.title('Comparison of Two Sets')
plt.xticks(index + bar_width / 2, categories)
plt.legend()
plt.show()

运行结果:

 

4.# 绘制饼图,要求: # 突出显示 Category2 # 显示百分比,保留两位小数 # 开始角度为 120 度 # 添加阴影 # 扇形边缘颜色为黑色,线宽为 1

import matplotlib.pyplot as plt

sizes = [20, 30, 25, 15, 10]
labels = ['Category1', 'Category2', 'Category3', 'Category4', 'Category5']
explode = (0, 0.1, 0, 0, 0)  

wedgeprops = {'edgecolor': 'black', 'linewidth': 1, 'linestyle': 'solid'}
plt.pie(sizes, labels=labels, explode=explode, autopct='%1.2f%%',
        startangle=120, shadow=True, wedgeprops=wedgeprops)
plt.show()

运行结果:

 

5.# 绘制直方图,箱数为 40,颜色为橙色,透明度为 0.6 # 设置合适的 x 轴和 y 轴标签以及标题

import matplotlib.pyplot as plt
import numpy as np

data = np.random.randn(2000)

plt.hist(data, bins=40, color='orange', alpha=0.6)

plt.title('Histogram of Normally Distributed Data')
plt.xlabel('Value')
plt.ylabel('Frequency')

plt.show()

运行结果:

 

6.# 绘制水平箱线图,填充箱体颜色为绿色 # 设置合适的 x 轴和 y 轴标签以及标题

import matplotlib.pyplot as plt
import numpy as np

data1 = np.random.normal(0, 1, 150)
data2 = np.random.normal(1, 1, 150)
data3 = np.random.normal(2, 1, 150)
data = [data1, data2, data3]

plt.boxplot(data, vert=False, patch_artist=True, boxprops=dict(facecolor='green', color='black'))

plt.title('Horizontal Boxplot of Three Normal Distributions')
plt.xlabel('Value')
plt.ylabel('Category')

plt.show()

运行结果: 

 

7.# 创建一个 1 行 3 列的子图布局 # 在第一个子图中绘制正弦函数,标题为 'Sine' # 在第二个子图中绘制余弦函数,标题为 'Cosine' # 在第三个子图中绘制正切函数,标题为 'Tangent' 

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 3 * np.pi, 1000)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)

# 限制正切函数的值,避免极端值影响图形显示
y3 = np.clip(y3, -10, 10)  # 将正切函数的值限制在 -10 到 10 之间

fig, axit = plt.subplots(1, 3, figsize=(15, 5))

axit[0].plot(x, y1)
axit[0].set_title('Sine')
axit[1].plot(x, y2)
axit[1].set_title('Cosine')
axit[2].plot(x, y3)
axit[2].set_title('Tangent')
fig.suptitle('Trigonometric Functions')

plt.show()

运行结果:

 

 

 

 

 

相关文章:

  • Spring Boot 使用 SMB 协议
  • Sentinel源码—1.使用演示和简介二
  • 【算法学习笔记】37:扩展中国剩余定理(EXCRT)求解任意线性同余方程组
  • 【微服务管理】注册中心:分布式系统的基石
  • python每日一练
  • 【模块化拆解与多视角信息3】教育背景:学历通胀时代的生存法则
  • JMeter使用
  • css解决边框四个角有颜色
  • 关于数据清洗和数据处理实践学习笔记
  • 任意文件读取 + java逆向 -- File_download sqctf WP
  • 【中级软件设计师】前趋图 (附软考真题)
  • HJ16 购物单
  • 【Linux生成SSH秘钥实现远程连接】Linux生成SSH秘钥对与修改服务配置文件实现无密码远程连接
  • PyCharm 开发工具 修改背景颜色
  • VMware vCenter Server 安全漏洞升级方案一则
  • 基于 SSM 高校二手交易平台
  • 如何在 Java 中对 PDF 文件进行数字签名(教程)
  • 打造现代数据基础架构:MinIO对象存储完全指南
  • 如何快速部署基于Docker 的 OBDIAG 开发环境
  • 初识大模型
  • 光影连接世界,中国企业出海绘就城市新名片
  • 纪念沈渭滨︱“要把近代史搞得会通”——读《士与大变动时代》随札
  • 牛市早报|现货黄金价格站上3400美元,上交所召开私募机构座谈会
  • 北美票房|《罪人》成首部观众评分为A级的恐怖片
  • 发布近百条《原神》涉密游戏内容,游戏资讯网站被判赔33万元
  • 人均300+的日料,是后厨拆开的预制料理包