<jupyter_start><jupyter_text>自定义虚线样式 虚线是通过dash序列控制的。可以使用Line2D.set_dashes修改。dash序列是以点为单位的一系列断续长度。例如[3,1]是连续3pt线长，间断1pt的空白。一些函数，例如Axes.plot支持通过字参数传递Line属性。如此，在绘制时既可以虚线样式描绘线段。值得一提的是，虽在此未演示，但虚线风格也可以通过property_cycle配置。<jupyter_code>import matplotlib
import matplotlib.pyplot as plt
import numpy as np
%matplotlib widget
matplotlib.rcParams['font.family'] = ['DengXian', 'sans-serif']<jupyter_output><empty_output><jupyter_text>准备数据<jupyter_code>x = np.linspace(0, 10, 500)
y = np.sin(x)
fig, ax = plt.subplots()
line1, = ax.plot(x, y, label="使用set_dashes()")<jupyter_output><empty_output><jupyter_text>调用ax.plot绘制后，返回值是元素为Line2D对象的列表。这里的line1是返回的列表中的第一个，也是唯一的一个元素。Line2D是Artist的一个子类。艺术家有两种类型：图元与容器。图元表示绘制在画布上的标准图形对象，如：Line2D，Rectangle，Text，AxesImage等。<jupyter_code>line1.set_dashes([2, 2, 10, 2]) # 2pt line, 2pt break, 10pt line, 2pt break<jupyter_output><empty_output><jupyter_text>Line2D的每个属性都可以通过老式的setter或getter进行访问，dashes是其中的一个，[2, 2, 10, 2]表示连续2pt线长，间断2pt的空白，连续10pt，间隔2pt。dashes属性本质是linestyle属性```pythondef set_dashes(self, seq):    if seq == (None, None) or len(seq) == 0:        self.set_linestyle('-')    else:        self.set_linestyle((0, seq))```另外，若要一次设置多个属性，可以通过line1.set方法实现。<jupyter_code>ax.lines
line1.get_linestyle()
plt.getp(line1)
line2, = ax.plot(x, y-0.2, dashes=[6, 2], label="使用dashes参数")
ax.legend()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.14507772020725387, 'fraction_numerical': 0.03552923760177646, 'mean_word_length': 10.655172413793103, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '4', 'dir': 'jupyter-structured-clean-dedup', 'id': '627497', 'license': 'MIT', 'n_tokens_mistral': 769, 'n_tokens_neox': 797, 'n_words': 64, 'path': 'mpl_gallery_019.ipynb', 'repo_name': 'darkeggler/data_visualization_notebooks', 'size': '1351'}