我正在寻找一种设置plt.scatter()
默认标记的方法 - 我已尝试在matplotlibrc文件中设置此行:
lines.marker : +
但这似乎不会更改默认标记,即圆圈。
http://matplotlib.org/users/customizing.html似乎没有任何其他明显的参数来设置;有谁知道实际上是否可以设置散点图的默认标记?
答案 0 :(得分:0)
您可以直接更改site-packages/matplotlib/pyplot.py
:
# This function was autogenerated by boilerplate.py. Do not edit as
# changes will be lost
@_autogen_docstring(Axes.scatter)
def scatter(x, y, s=20, c=None, marker='+', cmap=None, norm=None, vmin=None,
vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None,
hold=None, data=None, **kwargs):
ax = gca()
# allow callers to override the hold state by passing hold=True|False
washold = ax.ishold()
请注意评论中的警告,因为我不确定何时调用样板。(您只需要尝试一下并查看)但是在实际更改源代码之前考虑一下将plt.scatter
与您自己的电话重叠:
import matplotlib.pyplot as plt
import numpy as np
class scatter():
def __init__(self,x,y):
self.marker = '+'
plt.scatter(x,y,marker=self.marker)
x,y = np.random.randint(0,100,30),np.random.randint(0,100,30)
scatter(x,y)
plt.show()