ML--小小白 2021-11-29 21:02 采纳率: 80%
浏览 31
已结题

为什么matplotlib中无法改变tickline的颜色?

系统是mac os,matplotlib版本3.3.4, 代码如下

%matplotlib inline
from calendar import day_name
from matplotlib.ticker import FormatStrFormatter

fig = plt.figure()
ax = fig.add_axes([0.3, 0.3, 0.7, 0.7])

ax.spines['bottom'].set_position(('outward', 10))
ax.spines['left'].set_position(('outward', 10))
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

x = np.arange(1, 8, 1)
y = 2*x + 1

ax.scatter(x, y, c='orange', s=50, edgecolors='orange')

for tickline in ax.xaxis.get_ticklines():
    tickline.set_color('blue')
    tickline.set_markersize(7)  # marker 的长度
    tickline.set_markeredgewidth(5) # marker 的宽度
    
for ticklabel in ax.xaxis.get_majorticklabels():
    ticklabel.set_color('slateblue')
    ticklabel.set_fontsize(15)
    ticklabel.set_rotation(20)
    
# for ticklabel in ax.get_xmajorticklabels():
#     ticklabel.set_color('slateblue')
#     ticklabel.set_fontsize(15)
#     ticklabel.set_rotation(20)     #与上面循环等效

ax.yaxis.set_major_formatter(FormatStrFormatter('$\yen%1.1f$'))
plt.xticks(x, day_name[0:7], rotation=20)  # 前面已经rotation了,所以,这里不写也没关系
ax.yaxis.set_ticks_position('left')
ax.xaxis.set_ticks_position('bottom')

for tickline in ax.yaxis.get_ticklines():
    tickline.set_color('lightgreen')
    tickline.set_markersize(8)
    tickline.set_markeredgewidth(5)
    
for ticklabel in ax.get_yticklabels():
    ticklabel.set_color('green')
    ticklabel.set_fontsize(18)
    
ax.grid(True, ls=':', lw=1, color='gray', alpha=0.5)
    
    
plt.show()

效果截图:这个inline或者调用弹窗也就是%matplotlib auto的结果相同

img

  • 写回答

1条回答 默认 最新

  • 技术专家团-Bamboo 2021-11-30 10:16
    关注

    tickline.set_color("blue")
    改为:tickline.set_markeredgecolor("blue")

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月8日
  • 已采纳回答 11月30日
  • 创建了问题 11月29日

悬赏问题

  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。