Tôi thấy trên một câu hỏi khác mà tôi có thể sử dụng Counter()
để đếm số lần xuất hiện trong một tập hợp các chuỗi. Vì vậy, nếu tôi có ['A','B','A','C','A','A']
tôi nhận được Counter({'A':3,'B':1,'C':1})
. Nhưng bây giờ, làm thế nào tôi có thể sử dụng thông tin đó để xây dựng một biểu đồ chẳng hạn?Sử dụng Counter() trong Python để xây dựng biểu đồ?
Trả lời
Đối với dữ liệu của bạn, tốt hơn nên sử dụng bảng mã thay vì biểu đồ. Kiểm tra mã này:
from collections import Counter
import numpy as np
import matplotlib.pyplot as plt
labels, values = zip(*Counter(['A','B','A','C','A','A']).items())
indexes = np.arange(len(labels))
width = 1
plt.bar(indexes, values, width)
plt.xticks(indexes + width * 0.5, labels)
plt.show()
Kết quả:
Điều gì sẽ xảy ra nếu dữ liệu của OP phù hợp nhất với biểu đồ? Tôi biết đã đến muộn, nhưng tôi muốn cập nhật câu trả lời của bạn để áp dụng cho một ví dụ về biểu đồ (nhưng tôi không chắc chắn cách thực hiện nó). Điều đó sẽ trả lời tiêu đề cho câu hỏi. –
@ThomasMatthew về mặt kỹ thuật, đó là biểu đồ. "barchart thay vì histogram" là đề cập đến việc sử dụng 'matplotlib.pyplot.bar' thay vì' matplotlib.pyplot.hist'. Tôi tin rằng 'bar' tốt hơn với' Counter' (đó là những gì OP muốn), đó là nó – Igonato
Đây cũng là câu hỏi 3 năm cũ có thể đã thay đổi – Igonato
Bạn có thể viết một số mã thực sự súc tích để làm điều này bằng pandas:
In [24]: import numpy as np
In [25]: from pandas import Series
In [27]: sample = np.random.choice(['a', 'b'], size=10)
In [28]: s = Series(sample)
In [29]: s
Out[29]:
0 a
1 b
2 b
3 b
4 a
5 b
6 b
7 b
8 b
9 a
dtype: object
In [30]: vc = s.value_counts()
In [31]: vc
Out[31]:
b 7
a 3
dtype: int64
In [32]: vc = vc.sort_index()
In [33]: vc
Out[33]:
a 3
b 7
dtype: int64
In [34]: vc.plot(kind='bar')
Hệ quả là:
- 1. Sử dụng Gradle để xây dựng ứng dụng Python
- 2. Làm cách nào để xây dựng biểu đồ tri thức?
- 3. biểu đồ svg sử dụng python
- 4. Python - Tạo Counter() từ bản đồ, không nguyên giá trị
- 5. Chiến lược tốt để xây dựng biểu đồ đạo diễn cho bản đồ trò chơi (bằng Python) là gì?
- 6. Xây dựng biểu đồ-công cụ trên OSX bằng Python 3.4
- 7. Xây dựng chính thức Biểu đồ luồng điều khiển
- 8. Mô phỏng Monte Carlo với Python: xây dựng một biểu đồ trên bay
- 9. Thời gian biểu đồ thị của biểu đồ trong Python
- 10. Sử dụng d3js để tạo biểu đồ hình nến hoặc biểu đồ ohlc
- 11. Tại sao Python xây dựng đột ngột không phải khung xây dựng khi sử dụng virtualenv?
- 12. DI đồ thị đối tượng xây dựng - tách logic và đồ thị xây dựng
- 13. Sử dụng Reflection để xây dựng một Class (để xây dựng một lớp FileHelper động)
- 14. Java Click Counter sử dụng MVC
- 15. Làm thế nào để sử dụng Biểu thức để xây dựng một Kiểu ẩn danh?
- 16. Python del() được xây dựng trong không thể được sử dụng trong nhiệm vụ?
- 17. Biểu đồ CDF + biểu đồ tích lũy sử dụng Seaborn Python
- 18. Sử dụng Hudson để xây dựng gói RPM
- 19. Sử dụng API biểu đồ JavaFX để vẽ hình ảnh biểu đồ
- 20. Xây dựng ứng dụng sử dụng maven
- 21. Làm cách nào để sử dụng HTML + Javascript để xây dựng GUI python?
- 22. Cảnh báo khi xây dựng một bản đồ trong Ansible
- 23. Cách tốt nhất để xây dựng Biểu đồ từ theo chu kỳ được chỉ định (DAWG)
- 24. Sử dụng một đại biểu để gọi một nhà xây dựng
- 25. Tự động tạo đường ống xây dựng để xây dựng gradle bằng cách sử dụng Jenkinsfile
- 26. Chức năng xây dựng biểu đồ trục hai y trong ggplot2
- 27. Phạm vi Ninject - sử dụng cùng một trường hợp trên toàn bộ biểu đồ đang được xây dựng
- 28. Chuyển đổi chức năng được xây dựng trong loại để loại phương pháp (bằng Python 3)
- 29. Sử dụng perlbrew để xây dựng một perl với các biểu tượng gỡ lỗi
- 30. Làm thế nào để xây dựng các biểu đồ chiều rộng không bằng nhau với Matlab?
Nếu bạn muốn để xây dựng một biểu đồ Tôi đề nghị bạn sử dụng biểu đồ và matplotlib – jabaldonedo
Hãy xem [matplotlib] (http://matplotlib.org/) –
về mặt kỹ thuật, rằng * là * biểu đồ - nó có các thành phần (chữ cái) và tần số (lần chúng xảy ra). Bạn đang hỏi làm thế nào để làm cho điều này thành một đồ thị thanh? –