레이블 문자 회전(SeaBorn)
단순 요인 그림이 있습니다.
import seaborn as sns
g = sns.factorplot("name", "miss_ratio", "policy", dodge=.2,
linestyles=["none", "none", "none", "none"], data=df[df["level"] == 2])
문제는 x 레이블이 모두 함께 실행되어 읽을 수 없다는 것입니다.레이블을 읽을 수 있도록 텍스트를 어떻게 회전합니까?
저는 @mwaskorn의 대답에 문제가 있었습니다. 즉,
g.set_xticklabels(rotation=30)
실패합니다. 레이블도 필요하기 때문입니다.@Aman의 대답보다 조금 더 쉬운 것은 그냥 덧붙이는 것입니다.
plt.xticks(rotation=45)
눈금 레이블을 회전할 수 있습니다.tick_params
matplotlib의 방법Axes
물건들.구체적인 예를 제시합니다.
ax.tick_params(axis='x', rotation=90)
이것은 여전히 matplotlib 개체입니다.사용해 보십시오.
# <your code here>
locs, labels = plt.xticks()
plt.setp(labels, rotation=45)
패싯 그리드에서 지원되는 모든 해상 그림은 작동하지 않습니다(예: 캣 플롯).
g.set_xticklabels(rotation=30)
그러나 막대 그래프, 카운트 그림 등은 패싯 그리드에서 지원되지 않기 때문에 작동합니다.아래는 그들에게 도움이 될 것입니다.
g.set_xticklabels(g.get_xticklabels(), rotation=30)
또한 두 개의 그래프가 겹쳐 있는 경우 이를 지원하는 그래프에서 set_xticklabels를 사용해 보십시오.
클러스터 맵 CorrGrids( 주어진 Seaborn 예제의 일부)에 대한 방법을 궁금해하는 사람이 있을 경우:
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(context="paper", font="monospace")
# Load the datset of correlations between cortical brain networks
df = sns.load_dataset("brain_networks", header=[0, 1, 2], index_col=0)
corrmat = df.corr()
# Set up the matplotlib figure
f, ax = plt.subplots(figsize=(12, 9))
# Draw the heatmap using seaborn
g=sns.clustermap(corrmat, vmax=.8, square=True)
rotation = 90
for i, ax in enumerate(g.fig.axes): ## getting all axes of the fig object
ax.set_xticklabels(ax.get_xticklabels(), rotation = rotation)
g.fig.show()
사용할 수도 있습니다.plt.setp
다음과 같이:
import matplotlib.pyplot as plt
import seaborn as sns
plot=sns.barplot(data=df, x=" ", y=" ")
plt.setp(plot.get_xticklabels(), rotation=90)
레이블을 90도 회전합니다.
의 경우, (@Aman의 답변을 기준으로) 사용하여 회전할 수 있습니다.
pandas_frame = pd.DataFrame(data, index=names, columns=names)
heatmap = seaborn.heatmap(pandas_frame)
loc, labels = plt.xticks()
heatmap.set_xticklabels(labels, rotation=45)
heatmap.set_yticklabels(labels[::-1], rotation=45) # reversed order for y
사용하다ax.tick_params(labelrotation=45)
레이블을 제공할 필요 없이 그림의 축 수치에 이 값을 적용할 수 있습니다.이 방법은 패싯 그리드를 사용하는 대신 사용할 수 있습니다.
레이블의 이름이 길면 올바르게 표시하기 어려울 수 있습니다.를 사용하여 잘 작동한 솔루션catplot
다음과 같습니다.
import matplotlib.pyplot as plt
fig = plt.gcf()
fig.autofmt_xdate()
언급URL : https://stackoverflow.com/questions/26540035/rotate-label-text-in-seaborn
'programing' 카테고리의 다른 글
플라스크의 HTTP 상태 코드 201 반환 (0) | 2023.06.15 |
---|---|
16진수로 인코딩된 ASCII 문자열을 일반 ASCII로 변환하시겠습니까? (0) | 2023.06.15 |
응용 프로그램이 실행 중인 경로를 유형 스크립트로 가져오려면 어떻게 해야 합니까? (0) | 2023.06.15 |
레일 4: before_filter vs. before_action (0) | 2023.06.15 |
카트에 대한 조건부 추가 요금 (0) | 2023.06.15 |