如何在X轴箱图的每个文件名中添加名称

huangapple go评论85阅读模式
英文:

How to put name in each of the filename in the x axis box graph

问题

当我运行我的代码来查看箱线图时,我注意到绘图的x轴上没有显示文件名,而是显示了1、2、3、4、5、6......

这是我目前正在使用的代码

import os
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

folder_path = "图像文件夹的路径"

# 获取文件夹中的TIFF图像列表
tiff_files = [f for f in os.listdir(folder_path) if f.endswith('.tiff')]

# 遍历文件夹中的图像
grey_values = []
for img_file in tiff_files:
    img = Image.open(os.path.join(folder_path, img_file))
    grey_values.append(np.asarray(img).ravel())

# 将灰度值绘制成箱线图
plt.boxplot(grey_values)
plt.title('TIFF图像的灰度值')
plt.xlabel('图像')
plt.ylabel('灰度值')
plt.xticks(range(1, len(tiff_files) + 1), tiff_files)  # 这一行添加了文件名作为x轴标签
plt.show()

我尝试添加 "Label=tiff_files" 但会引发错误,不太清楚如何将文件名添加到x轴而不是普通的编号。

英文:

When I run my code to view the box graph, I noticed that the x-axis of the plot don't have filename in it instead showing 1,2,3,4,5,6.....

This is the code I'm working for now

import os
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

folder_path = "path to image folder"

# Get a list of the TIFF image in the folder
tiff_files = [f for f in os.listdir(folder_path) if f.endswith('.tiff')]

# Loop through the images in the folder
grey_values = []
for img_file in tiff_files:
    img = Image.open(os.path.join(folder_path, img_file))
    grey_values.append(np.asarray(img).ravel())

# Plot the grey values as a box graph
plt.boxplot(grey_values)
plt.title('Grey Values of TIFF Images')
plt.xlabel('Image')
plt.ylabel('Grey Value')
plt.show()

I have tried add "Label=tiff_files" but it throw errors and kind of clueless how to put filename instead of normal numbering.

答案1

得分: 1

使用 plt.xticks 函数

以下是一个示例(在我的情况下使用 .png 文件)

plt.figure(figsize=(16, 8))
plt.boxplot(grey_values)

# 设置 xticks,需要提供值和标签
xticks_range = range(1, len(tiff_files) + 1)
plt.xticks(xticks_range, labels=tiff_files, rotation=45, ha="right")

plt.title('TIFF 图像的灰度值')
plt.xlabel('图像')
plt.ylabel('灰度值')
plt.show()

如何在X轴箱图的每个文件名中添加名称

请注意,如果您决定使用轴方法设计您的图形,您可以直接使用 ax.set_xticklabels 函数

英文:

Use the plt.xticks function

Here is an example (working with .png file in my case)

plt.figure(figsize=(16, 8))
plt.boxplot(grey_values)

# Set xticks, requires values and labels
xticks_range = range(1, len(tiff_files) + 1)
plt.xticks(xticks_range ,labels=tiff_files, rotation=45, ha="right")

plt.title('Grey Values of TIFF Images')
plt.xlabel('Image')
plt.ylabel('Grey Value')
plt.show()

如何在X轴箱图的每个文件名中添加名称

Note that if you decide to design your figure using axis method, you can directly use ax.set_xticklabels function

huangapple
  • 本文由 发表于 2023年3月9日 14:55:44
  • 转载请务必保留本文链接:https://go.coder-hub.com/75681324.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定