[ad_1]
Xin chào tất cả mọi người,
Tôi hơi mới với việc vẽ sơ đồ trên biển và khi sử dụng đoạn mã sau, các số liệu trông hơi kỳ lạ và tôi đoán không chính xác chúng phải là gì. Bạn có thể vui lòng hướng dẫn nơi tôi đang thiếu?
Những gì tôi đã thử:
import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import plotly as px Titanic=sns.load_dataset("titanic") sns.countplot(x='age', data=Titanic) # x-ticks are overlapping sns.violinplot(data=Titanic, x="age", y="fare", hue="class") # same problem sns.pairplot(Titanic) # give and error sns.boxenplot(data=Titanic,x="age", y="fare", hue="class") # graph is too bad as well as same error as previous. sns.violinplot(data=Titanic, x="age", y="fare", hue="class") # graph is too bad as well as same error as previous. sns.countplot(x='age', data=Titanic) # x-ticks are overlapping
Giải pháp 1
Bạn cần trợ giúp với các lô Seaborn của mình. Hãy giải quyết từng vấn đề một:
1. Chồng chéo các dấu x trong `sns.countplot`: Điều này thường xảy ra khi có quá nhiều giá trị duy nhất trong cột ‘tuổi’. Để làm cho biểu đồ dễ đọc hơn, bạn có thể tăng kích thước hình hoặc xoay nhãn dấu x.
2. Các vấn đề với `sns.violinplot`, `sns.boxenplot` và `sns.pairplot`: Những vấn đề này có thể phát sinh do tính chất của dữ liệu trong cột ‘tuổi’ và ‘giá vé’. Cột ‘tuổi’ có thể có giá trị NaN hoặc phạm vi ‘giá vé’ có thể quá rộng, gây ra các ô bị lệch.
3. Lỗi với `sns.pairplot`: Lỗi này có thể là do giá trị không phải số hoặc NaN trong tập dữ liệu. `sns.pairplot` chỉ hoạt động với các cột số và không thể xử lý tốt các giá trị NaN.
Dưới đây là một số điều chỉnh mã và mẹo để giải quyết những vấn đề này:
Điều chỉnh Countplot
plt.figure(figsize=(10, 6)) # Adjusting figure size sns.countplot(x='age', data=Titanic) plt.xticks(rotation=90) # Rotating x-ticks plt.show()
Xử lý lô violin và Boxen
Đối với `sns.violinplot` và `sns.boxenplot`, hãy đảm bảo rằng cột ‘tuổi’ và ‘giá vé’ không có giá trị NaN hoặc giá trị ngoại lệ có thể làm sai lệch biểu đồ. Bạn có thể xử lý các giá trị NaN bằng cách loại bỏ chúng hoặc điền vào chúng bằng thước đo xu hướng trung tâm (trung bình, trung vị).
# Handling NaN values Titanic = Titanic.dropna(subset=['age', 'fare']) # Now try plotting sns.violinplot(data=Titanic, x="age", y="fare", hue="class") plt.show() sns.boxenplot(data=Titanic, x="age", y="fare", hue="class") plt.show()
Sửa lỗi cặp đôi
Để sửa lỗi `sns.pairplot`, hãy đảm bảo tất cả các cột đều là số và xử lý các giá trị NaN.
# Dropping non-numeric columns for pairplot numeric_cols = Titanic.select_dtypes(include=[np.number]).columns.tolist() Titanic_numeric = Titanic[numeric_cols].dropna() sns.pairplot(Titanic_numeric) plt.show()
Bạn có thể thử những điều chỉnh này và xem liệu chúng có giải quyết được vấn đề với lô đất của bạn không? Nếu bạn vẫn gặp sự cố, các thông báo lỗi cụ thể có thể cung cấp thêm thông tin chi tiết về những gì có thể xảy ra.
[ad_2]
コメント