博客
关于我
matplotlib常见基础用法总结
阅读量:802 次
发布时间:2019-03-25

本文共 4027 字,大约阅读时间需要 13 分钟。

Matthew is not just about static graphs, it's also about dynamic interactive plots. Starting from the simplest usage:

import matplotlib.pyplot as pltplt.plot([1, 2, 3, 4], [3, 6, 7, 9], 'r--')plt.xlabel('X-Axis')plt.ylabel('Y-Axis')plt.title('Interactive Plot Example')plt.show()

This code draws a simple line graph with red dashed lines, labels for both axes, and a title. Below are some advanced examples toward greater customization:

Customizing Plot Styling

plt.rcParams['font.sans-serif'] = ['Arial']  # Set default fontplt.figure(figsize=(10, 6))  # Set figure sizeplt.plot([1, 2, 3, 4], [3, 6, 7, 9], color='red', linestyle='--', linewidth=2, marker='o')plt.xlabel('X Axis', fontsize=12)plt.ylabel('Y Axis', fontsize=12)plt.title('Interactive Plot Example', fontsize=14, color='black')plt.grid(True, which=1, color='black', linestyle='--', linewidth=1)plt.show()

Key elements in the above code:

  • -figure size: Adjusted the size of the plot
  • -color and style: Specified color, linestyle, and linewidth
  • grid: Added a grid with custom settings
  • ** fonts**: Set default font to Arial for better readability

Combining Multiple Plots

# Create two subplots within one figureplt.figure(figsize=(10, 6))plt.subplot(2, 1, 1)plt.plot([1, 2, 3, 4], [3, 6, 7, 9], color='red', linestyle='-', linewidth=2)plt.xlabel('Time', fontsize=10)plt.ylabel('Temperature', fontsize=10)plt.title('Temperature vs Time', fontsize=12)plt.subplot(2, 1, 2)plt.plot([1, 2, 3, 4], [5, 4, 3, 2], color='green', linestyle='--', linewidth=1)plt.xlabel('Time', fontsize=10)plt.ylabel('Pressure', fontsize=10)plt.title('Pressure vs Time', fontsize=12)plt.show()

Key elements:

  • Figure and Subplot creation: Usingplt.figure() and subplot() for multiple graphs in one figure
  • Labels: Customized labels with specified font sizes
  • Titles: Added descriptive titles to each subplot

Customizing Axes Ranges and Limits

import numpy as npplt.figure(figsize=(8, 6))x = np.linspace(0, 10, 100)y = np.sin(x)plt.plot(x, y, color='blue', linestyle='-', linewidth=2)plt.xlabel('X (Degrees)', fontsize=10)plt.ylabel('Sine Wave', fontsize=10)plt.title('Sine WavePlot', fontsize=12)plt.xlim(0, 10)  # Set x-axis limitsplt.ylim(-1, 1)  # Set y-axis limitsplt.grid(True, which=1, color='black', linestyle='--', linewidth=0.5)plt.show()

Key elements:

  • Axes limits: Using xlim() and ylim() to set visible range of axes
  • Grid: Added minor grid lines
  • Custom titles and labels: Enhanced readability through labels and titles

Adding Annotations and Labels

# Example: Annotating points on the graphplt.figure(figsize=(8, 6))x = np.arange(0, 2, 0.1)y = np.random.rand(len(x))plt.plot(x, y, color='yellow', linestyle='-', linewidth=2, markersize=4, marker='o')plt.xlabel('X', fontsize=10)plt.ylabel('Random Values', fontsize=10)plt.title('Random Scatter Plot', fontsize=12)plt.grid(True, which=1, color='black', linestyle='--', linewidth=0.5)for i, (xi, yi) in enumerate(zip(x, y)):    plt.text(xi-0.05, yi+0.02, f'({xi:.2f}, {yi:.2f})', ha='right', va='bottom')plt.show()

Key elements:

  • Annotations: Added text annotations for each data point
  • Markers: Customized markers and sizes
  • Labels and title: Enhanced readability through proper annotation

subordinate curtain cleaning

# Create an interactive plot that includes annotations and multiple elementsimport numpy as npimport matplotlib.pyplot as pltplt.figure(figsize=(10, 6))x = np.arange(-5, 5, 0.5)y = np.arange(-5, 5, 0.5)plt.scatter(x, y, color='blue', s=5, marker='o')plt.xlabel('X', fontsize=10)plt.ylabel('Y', fontsize=10)plt.title('Scatter Plot with Annotations', fontsize=12)plt.grid(True, which=1, color='black', linestyle='--', linewidth=0.5)# Add an annotation to a specific pointplt.text(2, 3.5, 'Important Point', ha='center', va='bottom', color='white', backgroundcolor='black')plt.show()

Key elements:

  • Interactive elements: Added an annotation to highlight a specific point
  • Custom plot styling: Adjusted grid and point styles
  • Labels and titles: Consistent and readable

Matthew.

这篇文章是关于 matplotlib 学习指南的。其中涵盖了从最基础的绘图到更复杂的自定义化的内容。

转载地址:http://syayk.baihongyu.com/

你可能感兴趣的文章
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
Mysql下载以及安装(新手入门,超详细)
查看>>
MySQL中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中datetime与timestamp类型有什么区别
查看>>
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
MySQL中interactive_timeout和wait_timeout的区别
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中null和空字符串的区别与问题!
查看>>
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
查看>>
MYSQL中TINYINT的取值范围
查看>>
Mysql中varchar类型数字排序不对踩坑记录
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
MySQL中地理位置数据扩展geometry的使用心得
查看>>
Mysql中存储引擎简介、修改、查询、选择
查看>>