text: Title: [Feature Request] sns.histplot() automatically supports discreted axis labeling.
  Body: # Background / related function desc
  As the doc saids:
  When both x and y are assigned, a bivariate histogram is computed and shown as a heatmap:
  ```python
  sns.histplot(penguins, x="bill_depth_mm", y="body_mass_g")
  ```
  ![image](https://user-images.githubusercontent.com/23258141/215312148-a51a8e14-0640-4224-af42-96105436238f.png)
  ---
  
  # The requested feature is that
  
  **If the provided `x=` was a `Pandas Categorical DType`, well cause It's a cat dtype, so what I expected `seaborn` could treat it as discrete variable instead of continuous variable.**
  Recalls that the `Pandas Categorical DType` it could be a `numeric cat` like `Categories (5, int64): [1 < 10 < 100 < 1000 < 10000]`, or `str cat` like `Categories (3, object): ['0', '10ms', '20ms', '30ms']`.
  - If it's `str cat`, the `histplot` gives the expected result.
  ![image](https://user-images.githubusercontent.com/23258141/215312742-ee2d395b-f87e-4221-95b4-04582c9939b6.png)
  - However, if `num cat`, and it just follows the numberic axis labeling.
  ![image](https://user-images.githubusercontent.com/23258141/215312764-f78046f4-5a31-4f90-9738-90350f0ae1b3.png)
  Indeed, may be we can work around by using `log_scale=(True)`, but what if the `num cat` is not log-scale cat? Like `[1 < 200 < 1000< 1200]`.
  
  # Currently best workaround I found
  For those `num cat` dtype columns in dataframe, just convert to `str cat` first then apply histplot().
  ```python
  df[col] = df[col].astype(str).astype('category')
  sns.histplot(df, x=x, y=col)
  ```